#include <jni.h>
#include <stdio.h>
#include "ExampleClass.h"

// 函数声明
void callJavaMethod(JNIEnv *env);

JNIEXPORT void JNICALL Java_ExampleClass_sayHelloFromC(JNIEnv *env, jobject obj) {
    printf("Hello from C!\n");
    callJavaMethod(env); // 调用 Java 方法
}

void callJavaMethod(JNIEnv *env) {
    // 获取 Java 类
    jclass cls = (*env)->FindClass(env, "ExampleClass");
    if (cls == NULL) {
        printf("Failed to find class ExampleClass\n");
        return;
    }

    // 获取静态方法 ID
    jmethodID mid = (*env)->GetStaticMethodID(env, cls, "sayHelloFromJava", "()V");
    if (mid == NULL) {
        printf("Failed to find method sayHelloFromJava\n");
        return;
    }

    // 调用静态方法
    (*env)->CallStaticVoidMethod(env, cls, mid);
}